Apparatus and process for a digital swatchbook

ABSTRACT

The present invention provides a method and apparatus for accurately matching colors. The color matching system includes a host computer and a color input device in communication with the host computer. Preferably the color input device is capable of obtaining spectral data, such as that obtained using a spectrophotometer. The host computer includes a color library, a color management system, a monitor, and a user interface. In one aspect of the invention, the user selects a target color, a color library to use for matching, a color distance tolerance, and a light source under which the colors are to be matched. The target color is compared to the colors in the library and the color or colors in the library that are within the specified color tolerance are reported. In a second aspect of the invention, the user selects a color and two illuminants. The color under each of the two illuminants is compared and the color distance between the two is reported. In a third aspect of the invention, a selected color is transformed to the color space of a designated printer and then back-transformed to the color space of the monitor and displayed. The displayed color represents a simulation of the selected color as it would appear if printed.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

The present invention relates generally to digital color systems, and more specifically to techniques for precisely matching a target color with a color chosen from a library of colors and determining the accuracy of the match.

Many endeavors, such as the print and graphics arts, require a means for determining and then specifying a desired color. Traditionally designers and graphic artists have used a swatchbook, a swatchbook simply being a set of standard colors. The user holds the swatchbook next to an example of the desired color and visually determines the color in the swatchbook which is closest to the desired color. The index or name of the color in the swatchbook is then used to specify the desired color.

Unfortunately, swatchbook users are frequently dissatisfied, primarily due to unsatisfactory color matching. There are a number of reasons why the use of swatchbooks often result in mismatches. First, there is tremendous variability in the representation of a given color from swatchbook to swatchbook. This variability is a product of differences in the printing processes used to produce the individual swatchbooks as well as each book's age and general condition. Second, by its very nature the matching process is imprecise and subjective. Therefore what is a satisfactory match to one person may appear to be a completely unsatisfactory match to another person. Third, the lighting conditions can dramatically affect the results of a match. For example, an excellent match under incandescent lighting may appear to be a terrible match under fluorescent lighting. Swatchbooks suffer from a number of other deficiencies which, although not directly affecting accuracy, limit their usefulness. Comparing the colors in a swatchbook to a sample color is quite time consuming, especially if it is necessary to search through several different swatchbooks. Once several "close" matches have been found, it is not easy to simultaneously compare these matches without taking apart the swatchbooks so that side-by-side comparisons can be made. Furthermore, attempting to determine the best match among several close matches is still subjective since there is no simple way to gauge the accuracy of each match. Finally, assuming that the desired color is to be printed on some form of electronic printer, the chosen printer may not be able to accurately reproduce the chosen color. Unfortunately the only way to determine the match between the desired color and the printed color is quite time-consuming, requiring that the printed color be visually compared to the desired color.

From the above it is seen that an improved method and apparatus for performing color matching is desired, especially one which combines accuracy and precision with ease of use.

SUMMARY

The present invention provides a method and apparatus for accurately matching colors taking into account both lighting conditions and device limitations.

According to one aspect of the invention, a color matching system includes a host computer and a color input device in communication with the host computer. Preferably the color input device is capable of obtaining spectral data, such as that obtained using a spectrophotometer. The host computer includes a color library, a monitor, a user interface (e.g., keyboard or mouse), and preferably a printing device.

In a specific embodiment, a user inputs a target color to be matched using the color input device. The user also specifies the lighting source, the color space, the color libraries to be searched, and the allowable difference (i.e., color tolerance) between the target color and any potential color matches. The color tolerance is specified in terms of the computed distance between two colors in the designated color space. The system converts the spectral data for the target color and all of the colors in the selected color library to CIE XYZ and then to the designated color space. The conversion is done relative to the selected lighting source. The converted color library is then searched for matches by computing the color difference from the target color, and comparing this difference to the specified color tolerance. The list of matches is sorted according to their closeness to the target color and displayed to the user.

In another embodiment, the user inputs spectral data for a selected color into the system. The spectral data can either be obtained using the color input device or from one of the libraries. The system converts the spectral data into intensity profiles for each of the illuminants. The system displays the selected color as it would appear under each of the illuminants as well as indicating the distance between the two colors in a user-designated color space.

A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings.

NOTE: The name "PANTONE" may or may not be a trademark/servicemark of another.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional diagram of a color matching apparatus according to the present invention;

FIG. 2 is a plot of the reflectance of a red object;

FIG. 3 illustrates the problem of gamut mapping;

FIG. 4 is a flow chart showing a method performed by a computer for carrying out a color match according to the present invention; and

FIG. 5 is a flow chart showing a method performed by a computer allowing a user to preview a color under varying illumination sources according to the present invention.

DESCRIPTION OF SPECIFIC EMBODIMENTS

Overview

FIG. 1 is a functional diagram of a color matching apparatus 10 according to the present invention. A host computer 12 containing a color library 13 and a color management system 14 performs the matching procedures. Color library 13 is comprised of one or more color palettes. Individual color palettes may include standardized color sets as well as custom user palettes. The desired or target color is input using a color input device 16. The user controls the system through a user interface 17, a combination keyboard and mouse in the preferred embodiment. Through interface 17 the user selects features such as which of the color palettes contained in color library 13 are to be used for matching, the desired accuracy of the match, and the light source under which the match is to be performed. The results of the match are communicated to the user, preferably through a monitor 18.

Color Input Device

In order to accurately match colors, the preferred embodiment of the present invention utilizes a spectrophotometer as color input device 16. There are a variety of spectrophotometers which can be used to measure the spectral data of a target material, such as the hand-held spectrophotometer claimed and described in co-pending U.S. application Ser. No. 08/393,987 filed Feb. 24, 1995, currently pending, entitled DIGITAL COLOR MEASUREMENT SYSTEM, assigned to the common assignee herein and incorporated herein by reference for all purposes.

FIG. 2 is a plot of the reflectance of a red object. To obtain this plot a spectrophotometer was used to measure the intensity of the reflected light at each wavelength as a percentage of the incoming light. Thus this plot is a function of the reflectance characteristics of the object as well as the intensity spectrum of the source of the incoming light.

Although an accurate description of the color of an object must take into account the spectral contributions at each wavelength within the visible spectrum, most common descriptions of a color rely on a triplet of colors to represent the color in question. Color spaces based on three color systems are traditionally referred to as tristimulus color spaces. A few of the more common tristimulus color spaces are listed below.

RGB (Red Green Blue)--One of the most common tristimulus color systems is the RGB system which describes color on the basis of three additive primaries: red, green, and blue. The RGB system is commonly used to represent colors on computer peripherals such as monitors, scanners, and digital cameras. For example, in a computer monitor different colors are simulated by varying the intensity of glowing red, green, and blue phosphors on the monitor's CRT face. Conversely, scanners imitate color vision by measuring the intensities of red, green, and blue light reflected from a scanned object.

CMY (Cyan Magenta Yellow)--The CMY tristimulus color system is based on the three subtractive primaries; cyan, magenta, and yellow. This system starts with white and subtracts different quantities of red, green, and blue to obtain any desired color. For example, in color printing if the user wishes to subtract red from a white page, a filtering pigment which allows all colors to pass through it except red is applied to the page.

CMYK (Cyan Magenta Yellow Black)--The CMYK system is commonly used for full color printing. As with the CMY system briefly described above, this system is based on the use of red, green, and blue filters (i.e., cyan, magenta, and yellow inks, respectively) to filter different wavelengths from the white reflected by the paper. Ideally, black should result when 100 percent each of cyan, magenta, and yellow ink are combined. However, since commercial inks and papers are not ideal, this combination of inks will not yield a pure black. Therefore, to obtain better blacks and grays, most color printers resort to four color printing in which black ("K") is added to the CMY system.

HSB (Hue Saturation Brightness)--The HSB color system is common to many computer applications because it is more intuitive than either the CMY or RGB systems. Rather than describing an individual color as a combination of other colors (primaries), the properties of the colors are used. Brightness is the property of a color by which it appears to contain more or less light. Saturation is the degree to which a color appears to be pure, containing neither white nor gray. Unsaturated colors appear to be diluted with quantities of neutral grays. Hue is the property of a pure color which distinguishes it from other pure colors, and thus the property that gives a color its principal name (e.g., red, green, yellow, blue-green, etc.). Thus hue is directly associated with wavelength.

CIE XYZ--This color space was designed by the Commission Internationale de l'Eclairage (CIE) to address some of the device-related problems associated with the color systems described above. The CIE XYZ color space defines all colors in terms of three imaginary primaries X, Y, and Z based on a hypothetical human observer known as the Standard Observer. The visual characteristics of the Standard Observer are based on many human test subjects doing color-matching experiments under controlled viewing and lighting conditions. The CIE XYZ system is rarely used directly, but instead is used as an intermediate step in the conversion from spectral data to all other tristimulus color spaces. The groups X, Y, and Z work like the additive primaries RGB, i.e., every color can be expressed as mixture of the quantities of X, Y, and Z.

Spectral data can be converted to CIE XYZ using the following equations:

    X=k∫S(λ)a(λ)β(λ)dλ

    Y=k∫S(λ)b(λ)β(λ)dλ

    Z=k∫S(λ)c(λ)β(λ)dλ

where:

λ=wavelength

k=100/ ∫S(λ)b(λ)dλ!

β(λ)=the spectral reflectance of the sample at wavelength λ. For transmissive samples, substitute the spectral transmittance τ(λ);

S(λ)=the relative power of the illuminant at wavelength λ; and

a(λ), b(λ), c(λ) are the color-matching functions for the CIE 1931 2° and/or 10° Standard Observer. When computing tristimulus values from actual spectrophotometric measurements, the integrals are replaced by sums.

CIE xyY--This color space is derived directly from XYZ and is used to graph colors in two dimensions independent of lightness. The value Y is identical to the tristimulus value Y in XYZ and represents the luminance, or lightness, of the color. The x and y values are called the chromaticity coordinates of the color and are computed directly from the tristimulus values XYZ. The values are defined as:

    x=X/(X+Y+Z) and y=Y/(X+Y+Z).

CIE Lab and CIE Luv--These two color spaces are the result of attempts to create a perceptually uniform color system, one in which the distance between any two colors in the color space corresponds to the perceived `closeness` of the two colors. L represents a uniform lightness scale which is derived from Y. The new chromaticity coordinates u, v, a, and b are derived from x and y. The general relationships between these different color spaces are given by the following equations:

    L=116(Y/Y.sub.n).sup.1/2 -16

    u=13L(u'-u.sub.n ')

    v=13L(v'-v.sub.n ')

    a=500 (X/X.sub.n).sup.1/3 -(Y/Y.sub.n).sup.1/3 !

    b=200 (Y/Y.sub.n).sup.1/3 -(Z/Z.sub.n).sup.1/3 !

where:

    u'=4X/(X+15Y+3Z)

    v'=9Y/(X+15Y+3Z)

    u.sub.n '=4X.sub.n /(X.sub.n +15Y.sub.n +3Z.sub.n)

    v.sub.n '=9Y.sub.n /(X.sub.n +15Y.sub.n +3Z.sub.n)

The values X_(n), Y_(n), Z_(n) are the CIE tristimulus values for the perfect reflecting or transmitting diffuser. It should be noted that at very low light values, the above relationships are slightly modified.

To summarize the color spaces discussed above, all tristimulus values can be computed from CIE XYZ, which in turn can be computed from spectral data as long the observer and the illuminant are specified.

Color Management System

A further source of ambiguity when specifying a color arises due to the dependence of color on the device used to either display or reproduce the desired color. The device dependence of color occurs for a variety of reasons. First, even supposedly equivalent devices may vary greatly from manufacturer to manufacturer due to differences in design, manufacturing processes, raw materials, and processing tolerances. Second, the same model of device made by a single manufacturer can vary from unit to unit, this effect primarily due to manufacturing tolerances. Third, even the performance of a single device may vary as it ages or under different operating conditions (e.g., temperature or humidity effects).

For the above reasons, any RGB, HSB, CMY, or CMYK definition of a color must include a specification of the device for which these values were intended. In other words, an RGB specification which produces the desired color on one monitor may not yield the desired color on a different monitor, solely due to device differences. For this reason, RGB, HSB, CMY, and CMYK are known as device dependent color spaces. The CIE color spaces are device independent color spaces since the XYZ values for a color do not vary depending on the device used to reproduce the color. This is because the CIE color spaces are based on the definition of a master device, the Standard Observer.

The gamut of a device is the range of colors that it can reproduce (in the case of a monitor or printer) or distinguish (in the case of a scanner or other detection device). FIG. 3 illustrates the problem of gamut mapping, converting color coordinates from one device's color space to another. Graph 31 is a CIE chromaticity diagram in which the xy values of the CIE xyY color space are plotted. Graph 33 is the range of displayable colors in a typical computer monitor, illustrating that there are many colors which the human eye can distinguish which simply cannot be conveyed on a computer monitor. Graph 32 illustrates the case where the gamut of a CMYK-based printer is even smaller than that of a computer monitor. Thus, in this case there are colors that can be displayed on the monitor that simply cannot be duplicated on the printer. Typically, there are some colors in the gamut of a monitor which fall outside the gamut of a printer and conversely, there are some colors in the gamut of a printer which fall outside the gamut of a monitor.

A color management system ("CMS") is an internal system which properly converts colors from one device to another. Within the CMS is a master color space. This is the color space used to transport colors from the input (e.g., a scanner) through the software (e.g., image manipulation and page layout applications) to display (e.g., monitor) and output (e.g., printer). Preferably, the master color space is a device independent color space such as CIE XYZ. A practical problem associated with using CIE XYZ as the color space is that every time that an image or color is displayed to the monitor, it must first be converted from XYZ to RGB. This would considerably slow down the redraw speed of the screen. Therefore many color management systems transport colors in a color space known as monitor RGB, the RGB color space of the monitor. Under this CMS, no conversion is needed when displaying images or colors, only when printing.

The key ingredients of a CMS are device profiles. A device profile specifies the transformation from one device color space to another, usually the conversion to and from the master color space. For example, a scanner profile converts color from the RGB color space of a scanner to the master color space and a printer profile converts color from the master color space to the printer's CMYK space.

The greatest difficulty in developing a CMS is that by its very nature a CMS requires the cooperation between a large number of components all made by different manufacturers. Input devices and software (e.g., scanning systems) must know how to apply an input profile to convert the RGB values produced by the input hardware to the master color space of the CMS. Every piece of software that lets the user edit or specify colors on screen (e.g., image manipulation, paint, draw, and page-layout programs) must know how to convert colors to and from the monitor RGB space. Every component involved in the printing of color (e.g., page-layout programs, print drivers) must know when color must be converted, where to find the appropriate printer profiles on the system, and how to use them. For these reasons, no one manufacturer is in a position of producing the comprehensive CMS to handle all situations.

Another difficulty associated with the development of a CMS is the gamut problem discussed above. It is impossible to provide a system in which the final printed product is the same as what is shown on the monitor if the monitor is capable of colors which the printer simply cannot print. An obvious solution is to limit the monitor to the same color space as that of the printer. Many users are unwilling to artificially limit their monitor's color space and therefore find this to be an unsatisfactory solution.

Illuminant Dependence--Although the CIE color spaces address the problem of device dependence, they do not solve the problem inherent with all tristimulus colors: illuminant dependence. Illuminant dependence arises because all tristimulus descriptions of a color are based on the appearance of the color to the human eye, therefore requiring not only an accurate model of human vision (provided by the Standard Observer in the CIE color spaces), but also the light used to illuminate the target object since this is the source of the light that reaches the eye. It should be noted that spectral data which is given as a percentage of the incoming light is not illuminant dependent since the percentage remains the same regardless of the incoming light.

Metamerism--Metamerism is a phenomenon whereby two colors can match under one set of viewing conditions, such as illuminant, but not under another. One form of metamerism is unique to colors input with a scanner or other RGB input device, such as a digital camera. Since the RGB primaries inherent in a desktop scanner are not necessarily traceable in any way to measurements of human vision (as are the CIE X, Y, and Z primaries), it is possible that two colors that appear quite different to a scanner may appear identical to a human eye. This difference can be exaggerated when these two RGB-defined colors are displayed on a monitor or converted to CMYK for print. The result is that strange color differences appear in colors reproduced from scanner data, that are not apparent in the original artwork. The opposite effect can also occur: the user may be able to perceive a difference between two colors in a piece of artwork which the scanner sees as the same color.

Chromatic Adaptation--A colorimeter is an instrument for measuring color in a way that models human vision. As such, a colorimeter measures the tristimulus values of a color with a response that is similar to the human eye. Most colorimeters report values in one of several CIE tristimulus color spaces such as CIE XYZ, xyY, Lab, or Luv. A method of converting the CIE tristimulus values measured under one light source to another light source in order to simulate the change in appearance is known as a Von Kries adaptation. (See Color Science: Concepts and Methods, Quantitative Data and Formulae, Gunter Wyszecki and W. S. Stiles (1982) 429-432).

Color Libraries

Color libraries are collections of colors. A color library may either be pre-defined (e.g., PANTONE®) or user created. In the latter form of color library, the user measures target colors with a suitable color input device (e.g., a spectrophotometer) and stores the newly created color library within the computing system.

Marching

FIG. 4 is a flow chart showing a method performed by a computer such as computer 12 for carrying out a color match according to one aspect of the present invention. The process begins when a user first initiates the matching routine (step 40). The user then selects the color space (step 41) and the desired illumination source (step 42). Next the user selects one or more color libraries 13 which are to be searched by computer 12 in an attempt to find a match to the desired color (step 43). After library 13 has been chosen, CMS 14 converts all of the colors within library 13 to the selected color space with the selected light source (step 44). For example, if the user had previously selected the CIE Lab color space and a light source spectra representative of daylight, CMS 14 would convert all of the individual colors within selected library 13 to their CIE Lab values under this illumination.

In the preferred embodiment the user must also select a difference tolerance (step 45). The difference tolerance indicates how close a color in library 13 must be to the desired color in order to be considered a "match." Higher numbers result in more matches. The difference tolerance value is specified in terms of ΔE. ΔE is the computed distance between two colors in the designated color space. For example, in the CIE Lab color space the difference between color 1 with a color value of (L₁,a₁,b₁) and color 2 with a color value of (L₂,a₂,b₂) is defined by:

    ΔE= (L.sub.1 -L.sub.2).sup.2 +(a.sub.1 -a.sub.2).sup.2 +(b.sub.1 -b.sub.2).sup.2 !.sup.1/2.

Finally the user inputs the desired color (step 46). The user can input the desired color by measuring the color from a target using color input device 16. The user can also select a premeasured color as the desired color. The converted color library is then searched for matches by computing the color difference (ΔE) between each color within the library and the desired color (step 47), and comparing this difference to the previously specified difference tolerance (step 48). The list of matches is then sorted in order of increasing ΔE (step 49) and communicated to the user (step 50). In the preferred embodiment, computer 12 displays the total number of found matches (within the difference tolerance) and displays each of the found matches in descending order of closeness to the desired color. For the found matches, the computed color difference is shown as well as a color patch and the name of the color as specified in the color library.

Appendix I attached hereto and forming an integral part of this application contains the source code for computer modules used to perform one embodiment of the matching function defined above.

Lighting

FIG. 5 is a flow chart showing a method performed by computer 12 allowing a user to preview a color under varying illumination sources according to the present invention. A user first initiates the lighting routine (step 50). The user then sets the color space (step 51), the current illuminant (step 52), and selects the color to be examined (step 53). The color to be examined must be in the form of spectral data so that it is illumination independent. In the preferred embodiment the spectral data is in the form of a reflectance spectrum contained in a writable non-volatile memory coupled to computer 12. Computer 12 then multiplies the reflectance spectrum by the current illuminator spectrum to produce a first reflected intensity spectrum (step 54). CMS 14 converts the first reflected intensity spectrum to the CIE XYZ color space (step 55) and to RGB values (step 56).

Next, the user selects the comparison light source (step 57). Computer 12 multiplies the reflectance spectrum of the selected color by the spectrum of the comparison light source to produce a second reflected intensity spectrum (step 58). CMS 14 converts the second reflected intensity spectrum to the CIE XYZ color space (step 59) and to RGB values (step 60). In the preferred embodiment, the writable non-volatile memory coupled to computer 12 is also used for storing the spectral data associated with the illuminants.

Computer 12 displays the RGB values of the selected color under both the current illuminator and the comparison light source on monitor 18 (step 61). In the preferred embodiment computer 12 also calculates and displays the color difference (ΔE) due to the change in illuminant, the difference being given in the designated color space (step 62).

Appendix II attached hereto and forming an integral part of this application contains the source code for computer modules used to perform one embodiment of the light comparison function defined above.

The invention has now been explained with reference to specific embodiments. Other embodiments will be apparent to those of ordinary skill in the art. It is therefore not intended that this invention be limited, except as indicated by the appended claims. ##SPC1## 

We claim:
 1. In an appropriately programmed digital computer, a method of displaying a color under different lighting conditions, said method comprising the steps of:acquiring a first set of spectral data representative of a target color; acquiring a second set of spectral data representative of a first illuminant; acquiring a third set of spectral data representative of a second illuminant; determining a first intensity spectrum from said first and second sets of spectral data; determining a second intensity spectrum from said first and third sets of spectral data; converting said first and second intensity spectra to a first and a second set of RGB values; and displaying said first and second sets of RGB values on a monitor.
 2. The method of claim 1, wherein said first set of spectral data is a reflectance spectrum.
 3. The method of claim 1, further comprising the step of converting said first and second intensity spectra to a first and a second set of CIE XYZ values, said first and second sets of CIE XYZ values subsequently used to calculate said first and second sets of RGB values.
 4. The method of claim 3, wherein said conversion from said first and second sets of CIE XYZ values to said first and second sets of RGB values is performed using a Von Kries adaptation.
 5. The method of claim 3, further comprising the steps of:computing a color difference between said first and second sets of CIE XYZ values; and displaying a representation of said color difference on said monitor.
 6. A digital computer system for displaying a color under different lighting conditions, comprising:a color sampling device for generating a reflectance spectral representation of a selected target color; a light sampling device for generating an intensity spectral representation of a first and a second illuminant; a writable non-volatile memory for storing said spectral representations of said target color and said first and second illuminants; means for multiplying said reflectance spectrum by said first illuminant spectrum to produce a first reflected intensity spectrum; means for multiplying said reflectance spectrum by said second illuminant spectrum to produce a second reflected intensity spectrum; means for converting said first and second reflected intensity spectra to RGB values; and a display for displaying the RGB values of said first and second reflected intensity spectra.
 7. In an appropriately programmed digital computer, a method of matching colors comprising the steps of:acquiring a digital representation of a target color; choosing a color difference tolerance; computing a color difference between said target color and each color of a color library; comparing said color difference for each color of said color library to said color difference tolerance; providing each color of said color library in which said color difference between said color and said target color is less than said color difference tolerance; and providing a total number of colors in which the difference between said color and said target color is less than said color difference tolerance.
 8. In an appropriately programmed digital computer, a method of matching colors comprising the steps of:acquiring a digital representation of a target color; choosing a color difference tolerance; selecting a first illuminant; converting all colors within a color library and said target color to a first tristimulus color space based on said first illuminant; selecting a second illuminant; converting all colors within said color library and said target color from said first tristimulus color space to a second tristimulus color space, said second tristimulus color space based on said second illuminant; computing a color difference between said target color and each color of said color library; comparing said color difference for each color of said color library to said color difference tolerance; and providing each color of said color library in which said color difference between said color and said target color is less than said color difference tolerance.
 9. In an appropriately programmed digital computer, a method of matching colors comprising the steps of:acquiring a digital representation of a target color, wherein said target color and each color of a color library is in the form of reflectance data; choosing a color difference tolerance; selecting an illuminant spectra; adjusting said reflectance data for said target color and for each color of said color library to account for said illuminant spectra to produce a plurality of intensity spectra; converting each of said intensity spectra to a CIE XYZ color space; computing a color difference between said target color and each color of said color library; comparing said color difference for each color of said color library to said color difference tolerance; and providing each color of said color library in which said color difference between said color and said target color is less than said color difference tolerance.
 10. The method of claim 9, wherein said illuminant spectrum is selected from a plurality of illuminant spectra.
 11. The method of claim 9, wherein said illuminant spectrum is measured using a spectrophotometer.
 12. The method of claim 9, wherein said illuminant spectrum is measured using a colorimeter. 